ВГОРУ

Імпорт курсів валют з сайту НБУ в LibreOffice Calc

NBU_RATE() Опис

Готова функція для тих, кому часто приходиться використовувати курси валют НБУ в LibreOffice Calc.

Допомагає автоматично отримувати значення курсу валюти з сайту НБУ по її коду та даті.


StarBASIC код для функції NBU_RATE

Щоби добавити функцію імпорту курсів валют НБУ, відкрийте меню Tools - Macros - Edit Macros..., виберіть Module1 та скопіюйте наступний текст в цей модуль:

Function NBU_RATE(ByVal pCurrency, ByVal pDate)
  'moonexcel.com.ua 
  Dim FCalc As Object
  
  If Len(pCurrency) = 0 Or Len(pDate) = 0 Then Exit Function             
      
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
  
  tDate = FCalc.callFunction("TEXT", Array(pDate,"YYYYMMDD"))
                                                    
  RequestString = "https://bank.gov.ua/NBU_Exchange/exchange_site?start=" & tDate & "&end=" & tDate & "&valcode=" & pCurrency
            
  WebServiceResponse = FCalc.callFunction("WEBSERVICE", Array(RequestString))  
  
  NBU_RATE = FCalc.callFunction("FILTERXML", Array(WebServiceResponse,"//rate_per_unit"))    
End Function

Закрийте Macro Editor і поверніться в LibreOffice Calc.

Тепер Ви можете вручну ввести нашу функцію NBU_RATE(). Синтаксис цієї функції такий:

=NBU_RATE (код валюти; дата)

Ми матимемо такий результат:

Використання розширення

Ви також можете скористатись функцією NBUA() встановивши безкоштовне розширення YouLibreCalc.oxt або його повнофункціональну версію YLC_Utilities.oxt.

Після цього, дана функція буде доступна у всіх файлах, які будуть відкриті в LibreOffice Calc.